package com.drinkdelivery.common.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.drinkdelivery.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 商户对象 merchants
 * 
 * @author lzh
 * @date 2024-07-25
 */
public class Merchants
        implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 商户ID，主键，自增 */
    private Integer id;

    /** 后台用户ID */
    @ApiModelProperty(value = "后台用户ID")
    @Excel(name = "后台用户ID")
    private Integer sysUserId;

    /** 商户名称 */
    @ApiModelProperty(value = "商户名称")
    @Excel(name = "商户名称")
    private String name;

    /** 区域 */
    @ApiModelProperty(value = "区域")
    @Excel(name = "区域")
    private String region;

    /** 商户地址 */
    @ApiModelProperty(value = "商户地址")
    @Excel(name = "商户地址")
    private String address;

    /** 商户电话 */
    @ApiModelProperty(value = "商户电话")
    @Excel(name = "商户电话")
    private String phone;

    /** 商户电子邮箱 */
    @ApiModelProperty(value = "商户电子邮箱")
    @Excel(name = "商户电子邮箱")
    private String email;

    /** 商户纬度 */
    @ApiModelProperty(value = "商户纬度")
    @Excel(name = "商户纬度")
    private BigDecimal latitude;

    /** 商户经度 */
    @ApiModelProperty(value = "商户经度")
    @Excel(name = "商户经度")
    private BigDecimal longitude;

    /** 商户Logo图片URL */
    @ApiModelProperty(value = "商户Logo图片URL")
    @Excel(name = "商户Logo图片URL")
    private String logoUrl;

    /** 营业时间 */
    @ApiModelProperty(value = "营业时间")
    @Excel(name = "营业时间")
    private String businessHours;

    /** 商户评分 */
    @ApiModelProperty(value = "商户评分")
    @Excel(name = "商户评分")
    private BigDecimal rating;

    /** 逻辑删除标记，0-未删除，1-已删除 */
    @ApiModelProperty(value = "逻辑删除标记，0-未删除，1-已删除")
    @Excel(name = "逻辑删除标记，0-未删除，1-已删除")
    private Integer isDeleted;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setSysUserId(Integer sysUserId) 
    {
        this.sysUserId = sysUserId;
    }

    public Integer getSysUserId() 
    {
        return sysUserId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setRegion(String region) 
    {
        this.region = region;
    }

    public String getRegion() 
    {
        return region;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }
    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }
    public void setLogoUrl(String logoUrl) 
    {
        this.logoUrl = logoUrl;
    }

    public String getLogoUrl() 
    {
        return logoUrl;
    }
    public void setBusinessHours(String businessHours) 
    {
        this.businessHours = businessHours;
    }

    public String getBusinessHours() 
    {
        return businessHours;
    }
    public void setRating(BigDecimal rating) 
    {
        this.rating = rating;
    }

    public BigDecimal getRating() 
    {
        return rating;
    }
    public void setIsDeleted(Integer isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted() 
    {
        return isDeleted;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sysUserId", getSysUserId())
            .append("name", getName())
            .append("region", getRegion())
            .append("address", getAddress())
            .append("phone", getPhone())
            .append("email", getEmail())
            .append("latitude", getLatitude())
            .append("longitude", getLongitude())
            .append("logoUrl", getLogoUrl())
            .append("businessHours", getBusinessHours())
            .append("rating", getRating())
            .append("isDeleted", getIsDeleted())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())

            .toString();
    }
}
